package com.skyworthclub.competition.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.skyworthclub.competition.beans.Comment;
import com.baomidou.mybatisplus.service.IService;
import org.springframework.transaction.annotation.Transactional;

import java.io.Serializable;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author li
 * @since 2018-10-15
 */
@Transactional(rollbackFor = Exception.class)
public interface CommentService extends IService<Comment> {
    /** 分页查询
     * @param matchId   比赛id
     * @param pageNum   页码
     * @return  page
     */
    Page<Comment> getPage(Integer matchId, Integer pageNum);

    /** 插入
     * @param comment   评论对象
     * @return  boolean
     */
    boolean insertComment(Comment comment);

    /** 删除
     * @param id id
     * @return  boolean
     */
    boolean deleteCommentById(Integer id);

    /** 更新
     * @param entity    comment
     * @return  boolean
     */
    boolean updateCommentById(Comment entity);

    /** 分页获取顶层评论
     * @param matchId 比赛id
     * @param pageNum 页码
     * @return page
     */
    Page<Comment> getTopComments(Integer matchId, Integer pageNum);

    /** 分页获取自评论
     * @param parentId 父评论id
     * @param pageNum 页码
     * @return page
     */
    Page<Comment> getChildComments(Integer parentId, Integer pageNum);
}
